package com.xb.loan.cashier.biz.service;

import com.xb.loan.cashier.biz.dao.bean.CashierEncashBatch;

import java.util.Date;
import java.util.List;


/**
 * 提现批次处理业务方法
 */
public interface CashierEncashBatchService {

    String getBatchId();
    
    /**
     * 更新提现批处理记录的信息
     * 
     * @param cashierEncashBatch 更新记录信息
     * @return 影响条数
     * @author zheng.p
     * @date 2016年6月30日 下午4:20:34
     */
    public int updateByPrimaryKeySelective(CashierEncashBatch cashierEncashBatch);
    
    void insert(CashierEncashBatch cashierEncashBatch);

    /**
     * 查询未完成的历史批次
     * @return
     * 2015-9-6 by lottery
     */
    List<CashierEncashBatch> selectWaitBatchs();

    /**
     * 批次状态更新为更新为处理中
     * @param batchs
     * 2015-9-8 by lottery
     */
    void updateToWaiting(List<CashierEncashBatch> batchs);

    List<CashierEncashBatch> selectWaitingBatchs(int pageNo, int pageSize);

    /**
     * 批次状态更新为已发送
     * @param batchId
     * @return
     * 2015-9-8 by lottery
     */
    int updateToSending(String batchId, String fileName);
    /**
     * 批次状态更新为已完成
     * @param fileName
     * 2015-9-8 by lottery
     */
    int updateToFinish(String fileName);

    /**
     * 查询已发送但固定时间未返回结果的批次
     * @param updateTime
     * @param pageNo
     * @param pageSize
     * @return
     * 2015-9-8 by lottery
     */
    List<CashierEncashBatch> selecSendingBatchsByUpdateTime(Date updateTime, int pageNo, int pageSize);
}
